单位标记
单位标记以前叫单位行为限制。后来加的东西多了发现这个东西不仅仅用来做限制了,就改名了。这里说明一下,因为不排除有文档或代码漏改了,依然叫单位行为限制。
所有的单位标记都只有有
和没有
两种状态。但是每种单位标记都有引用计数,也就是说添加两次无敌
的单位,需要删除两次无敌
才能让单位不无敌。
但引用计数是不会小于0的,也就是说对不无敌的单位删除无敌
,不会发生任何事情。
定身
单位无法移动,也无法进行主动运动。
缴械
单位无法使用攻击技能。
物免
单位无法成为攻击技能的目标,伤害结算中单位不会受到来自攻击技能的伤害。
禁魔
单位无法使用技能。
魔免
单位无法成为技能的目标,伤害结算中单位不会受到来自技能的伤害。
免死
单位不会因为受到伤害而死亡。 在伤害结算中,单位因受到伤害而导致生命小于等于0时,有免死的单位不会死亡,而是把生命设置为0并且继续存活。
隐身
敌方玩家无法看到这个单位。
隐藏
所有玩家无法看到这个单位。
显影
模型隐藏
不显示单位的模型,以及绑定的特效。 你看不到它,而游戏内的单位却可以看到。
逻辑隐藏
敌方玩家无法看到这个单位。和隐身不同的是,看不到只是从逻辑上看不到,而(人类)玩家还是可以看到这个单位的。
你可以看到它,而游戏内的单位却会对它视而不见。
飞行
单位的移动无视静态碰撞。
幽灵
单位的移动无视动态碰撞。
蝗虫
单位不会被选取器选中。
失控
单位会忽略所有客户端对其发布的命令。
天空
单位提供的视野无视视野阻挡。
无敌
无敌等价于魔免+物免,实际实现上添加无敌
就是添加了魔免
和物免
。所以检查无敌单位是否物免和魔免,都会返回true。
无敌和魔免物免分别加一次的区别
对一个无敌单位使用技能,客户端会提示无法对无敌单位使用
。而对魔免不无敌的单位,则是提示无法对魔免单位使用
。
选取器会对无敌单位做区别对待。
你自己的实现,可以判断是否有无敌(而不判物免、魔免),来区别对待。
免时停
使该单位豁免时间停止的效果。
被该单位创建的弹道也会隐式地一起获得豁免时间停止的效果(某个单位被免 时停后创建一个弹道,该弹道也一样免时停)。
但是,当免时停被移除时,该单位创建的弹道不会被移除免时停效果。也就是说弹道一旦在免时停期间被打出去,就一定会被打完,即使后来别的单位又发动了时停。
如果单位A先创建了单位B,然后单位A被标记为免时停,那么单位B不会一起获得免时停效果。
虚空
该单位无视地形高度,它的高度不从地形高度开始而是从0开始,不影响碰撞判断